home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / demos / VisualAge for Java 2.0 Entry / setup / data1.cab / ide-e / IDE / cache / TFRBQX (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-16  |  3.5 KB  |  104 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleContext;
  5. import java.awt.Color;
  6. import java.awt.Component;
  7. import java.awt.Container;
  8. import java.awt.Graphics;
  9. import java.awt.LayoutManager;
  10. import java.awt.Rectangle;
  11. import java.io.IOException;
  12. import java.io.ObjectOutputStream;
  13.  
  14. public class CellRendererPane extends Container implements Accessible {
  15.    protected AccessibleContext accessibleContext = null;
  16.  
  17.    public CellRendererPane() {
  18.       ((Container)this).setLayout((LayoutManager)null);
  19.       ((Component)this).setVisible(false);
  20.    }
  21.  
  22.    protected void addImpl(Component x, Object constraints, int index) {
  23.       if (x.getParent() != this) {
  24.          super.addImpl(x, constraints, index);
  25.       }
  26.    }
  27.  
  28.    public AccessibleContext getAccessibleContext() {
  29.       if (this.accessibleContext == null) {
  30.          this.accessibleContext = new AccessibleCellRendererPane(this);
  31.       }
  32.  
  33.       return this.accessibleContext;
  34.    }
  35.  
  36.    public void invalidate() {
  37.    }
  38.  
  39.    public void paint(Graphics g) {
  40.    }
  41.  
  42.    public void paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h) {
  43.       this.paintComponent(g, c, p, x, y, w, h, false);
  44.    }
  45.  
  46.    public void paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h, boolean shouldValidate) {
  47.       if (c == null) {
  48.          if (p != null) {
  49.             Color oldColor = g.getColor();
  50.             g.setColor(((Component)p).getBackground());
  51.             g.fillRect(x, y, w, h);
  52.             g.setColor(oldColor);
  53.          }
  54.  
  55.       } else {
  56.          if (c.getParent() != this) {
  57.             ((Container)this).add(c);
  58.          }
  59.  
  60.          c.setBounds(x, y, w, h);
  61.          if (shouldValidate) {
  62.             c.validate();
  63.          }
  64.  
  65.          boolean wasDoubleBuffered = false;
  66.          if (c instanceof JComponent && ((JComponent)c).isDoubleBuffered()) {
  67.             wasDoubleBuffered = true;
  68.             ((JComponent)c).setDoubleBuffered(false);
  69.          }
  70.  
  71.          Graphics cg = SwingGraphics.createGraphics(g, x, y, w, h);
  72.  
  73.          try {
  74.             c.paint(cg);
  75.          } finally {
  76.             cg.dispose();
  77.          }
  78.  
  79.          if (c instanceof JComponent && wasDoubleBuffered) {
  80.             ((JComponent)c).setDoubleBuffered(true);
  81.          }
  82.  
  83.          if (c instanceof JComponent) {
  84.             JComponent jc = (JComponent)c;
  85.             jc.setDoubleBuffered(wasDoubleBuffered);
  86.          }
  87.  
  88.          c.setBounds(-w, -h, 0, 0);
  89.       }
  90.    }
  91.  
  92.    public void paintComponent(Graphics g, Component c, Container p, Rectangle r) {
  93.       this.paintComponent(g, c, p, r.x, r.y, r.width, r.height);
  94.    }
  95.  
  96.    public void update(Graphics g) {
  97.    }
  98.  
  99.    private void writeObject(ObjectOutputStream s) throws IOException {
  100.       ((Container)this).removeAll();
  101.       s.defaultWriteObject();
  102.    }
  103. }
  104.